<?php

namespace App\Http\Controllers\admin;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

use DB;

class UserController extends Controller
{
    //
    public function index(Request $request)
    {
    	//保存搜索条件
    	$where = [];
    	//实例化要操作的表
    	$db = DB::table('user');
    	//判断有没有搜索name字段的值
    	if($request->has('login_name')){
    		// 获取要搜索的name字段的值
    		$login_name = $request->input('login_name');
    		//添加where模糊匹配条件
    		$db->where('login_name','like',"%{$login_name}%");
    		$where['login_name'] = $login_name;
    	}
    	if($request->has('sex')){
    		$sex = $request->input('sex');
    		$db->where('sex','=',$sex);
    		$where['sex'] = $sex;
    	}
    	// 分页
    	$list = $db->paginate(2);
    	//加载模板
    	return view('user.index',['list'=>$list,'where'=>$where]);
    }

    public function create()
    {
    	return view('user.add');
    }

    public function store(Request $request)
    {
    	//自动规则
    	$messages = [
    		'required' => ':attribute 的字段是必要的',
    	];
    	//
    	$this->validate($request, [
	        'login_name' => 'required|unique:user|max:16',
	        // 'age' => 'required|numeric|max:199|min:18',
	    ],$messages);
    	$data = $request->except('_token');
    	$id = DB::table('user')->insertGetId($data);
    	if($id>0){
    		return redirect('admin/user');
    	}else{
    		return redirect('admin/user/add');
    	}
    }

    public function destroy($id)
    {
        //删除用户数据处理
    	$row = DB::table('user')->where('id',$id)->delete();
    	if($row>0){
    		return redirect('admin/user');
    	}else{
    		return redirect('user/index');
    	}
    }

    public function edit($id)
    {
         //显示修改用户页面数据处理
    	$user = DB::table('user')->where('id',$id)->first();
    	return view('user.edit',['user'=>$user]);
    }

    public function update($id,Request $request)
    {
        //修改用户页面更新数据库处理
    	$data = $request->except('_token','_method');
    	$row = DB::table('user')->where('id',$id)->update($data);
    	if($row>0){

    		return redirect('admin/user');
    	}else{
            return back()->with('msg','信息无更改');
       }
    }
}

